package cliente.gerenciadorcliente.so;

import java.rmi.RemoteException;
import java.util.List;

import comum.rn.RNDescricaoSalaJogo;
import comum.rn.RNEstatisticas;
import comum.so.exception.SalaCheiaException;
import comum.so.exception.SalaComNomeJaExistenteException;
import comum.so.exception.SalaNaoExisteException;
import comum.so.exception.SenhaIncorretaException;

public interface SOGerenciadorClienteSaida {
	void deslogar();

	List<RNDescricaoSalaJogo> buscarSalasJogo(boolean mostrarCheios,
			boolean mostrarComSenha) throws RemoteException;

	void entrarSalaJogo(Long idSalaJogo, String senha) throws RemoteException,
			SalaCheiaException, SalaNaoExisteException, SenhaIncorretaException;

	void criarSalaJogo(String nome, String senha) throws RemoteException,
			SalaComNomeJaExistenteException;

	RNEstatisticas obterEstatisticas() throws RemoteException;

}
